#pragma once
#ifndef _PLANEPROJECTRANSFER_H
#define _PLANEPROJECTRANSFER_H

#include "coordtransfer.h"
#include "MyMatrix.hpp"

class PlaneProjectTransfer : public CoordTransfer
{
private:
  MyMatrix< float > _ceof;
public:
  PlaneProjectTransfer(void) : _ceof (2, 0) {}

  virtual bool set_transfer_data (const MyMatrix< float >& dataToSet);
  virtual MyMatrix< float > get_transfer_data ();

  virtual bool calibrate (IN const MyMatrix< float >& cameraPoints,
    IN const MyMatrix< float >& projecterPoints);
  virtual bool camera_to_projector (IN const Array< float >& cameraPoint,
    OUT Array< float >& projectorPoint);

};

#endif